{
  boolInsert("test", true)
}

mutation BoolInsert($k: String!, $v: Boolean!) {
  boolInsert(key: $k, value: $v)
}

{
  "k": "test",
  "v": true
}

{
   boolRead(key: "test")
}



mutation BoolCharInsert($bk: String!, $bv: Boolean!, $ck: String!, $cv: Char!) {
  new_bool: boolInsert(key: $bk, value: $bv)
  new_char: charInsert(key: $ck, value: $cv)
}

{
	"bk": "bk_test",
	"bv": true,
	"ck": "ck_test",
	"cv": "c"
}


query BoolCharRead($bk: String!, $ck: String!) {
  bool_res: boolRead(key: $bk)
  char_res: charRead(key: $ck)
}

{
	"bk": "bk_test",
	"ck": "ck_test"
}

Large Queries And Mutations:

mutation InsertAll($key: String!, $bv: Boolean!, $cv: Char!, $f32v: Float!, $f64v: Float!, $i8v: Int!, $i16v: Int!, $i32v: Int!, $i64v: Int!, $i128v: I128Scalar!, $isizev: Int!, $stringv: String!, $u8v: Int!, $u16v: Int!, $u32v: Int!, $u64v: Int!, $u128v: U128Scalar!, $usizev: Int!, $whateverv: InputWhatever!)
{
  new_bool: boolInsert(key: $key, value: $bv)
  new_char: charInsert(key: $key, value: $cv)
  new_f32: f32Insert(key: $key, value: $f32v)
  new_f64: f64Insert(key: $key, value: $f64v)
  new_i8: i8Insert(key: $key, value: $i8v)
  new_i16: i16Insert(key: $key, value: $i16v)
  new_i32: i32Insert(key: $key, value: $i32v)
  new_i64: i64Insert(key: $key, value: $i64v)
  new_i128: i128Insert(key: $key, value: $i128v)
  new_isize: isizeInsert(key: $key, value: $isizev)
  new_string: stringInsert(key: $key, value: $stringv)
  new_u8: u8Insert(key: $key, value: $u8v)
  new_u16: u16Insert(key: $key, value: $u16v)
  new_u32: u32Insert(key: $key, value: $u32v)
  new_u64: u64Insert(key: $key, value: $u64v)
  new_u128: u128Insert(key: $key, value: $u128v)
  new_usize: usizeInsert(key: $key, value: $usizev)
  new_whatever: whateverInsert(key: $key, value: $whateverv)
}

{
	"key": "all_types_test",
	"bv": true,
	"cv": "c",
	"f32v": 1.1,
	"f64v": 2.2,
	"i8v": 1,
	"i16v": 2,
	"i32v": 3,
	"i64v": 4,
	"i128v": 5,
	"isizev": 6,
	"stringv": "A lazy fox jumped over a brown log",
	"u8v": 7,
	"u16v": 8,
	"u32v": 9,
	"u64v": 10,
	"u128v": 11,
	"usizev": 12,
	"whateverv": { "string": "huh?" }
}

mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
  createReview(episode: $ep, review: $review) {
    stars
    commentary
  }
}

{
	"data":
	{
		"new_bool": "Ok",
		"new_char": "Ok",
		"new_f32": "Ok",
		"new_f64": "Ok",
		"new_i8": "Ok",
		"new_i16": "Ok",
		"new_i32": "Ok",
		"new_i64": "Ok",
		"new_i128": "Ok",
		"new_isize": "Ok",
		"new_string": "Ok",
		"new_u8": "Ok",
		"new_u16": "Ok",
		"new_u32": "Ok",
		"new_u64": "Ok",
		"new_u128": "Ok",
		"new_usize": "Ok",
		"new_whatever": "Ok"
	}
}

Playground: http://localhost:8000
bool_insert, Thread Id: ThreadId(3)
char_insert, Thread Id: ThreadId(3)
f32_insert, Thread Id: ThreadId(3)
f64_insert, Thread Id: ThreadId(3)
i8_insert, Thread Id: ThreadId(3)
i16_insert, Thread Id: ThreadId(3)
i32_insert, Thread Id: ThreadId(3)
i64_insert, Thread Id: ThreadId(3)
i128_insert, Thread Id: ThreadId(3)
isize_insert, Thread Id: ThreadId(3)
string_insert, Thread Id: ThreadId(3)
u8_insert, Thread Id: ThreadId(3)
u16_insert, Thread Id: ThreadId(3)
u32_insert, Thread Id: ThreadId(3)
u64_insert, Thread Id: ThreadId(3)
u128_insert, Thread Id: ThreadId(3)
usize_insert, Thread Id: ThreadId(3)
whatever_insert, Thread Id: ThreadId(3)

Time: 6 ms

With the following features:

"sub_store_aml",
"scc_hashmap_string", (async methods)
"all_types"

bool_insert, Thread Id: ThreadId(5)
char_insert, Thread Id: ThreadId(5)
f32_insert, Thread Id: ThreadId(5)
f64_insert, Thread Id: ThreadId(5)
i8_insert, Thread Id: ThreadId(5)
i16_insert, Thread Id: ThreadId(5)
i32_insert, Thread Id: ThreadId(5)
i64_insert, Thread Id: ThreadId(5)
i128_insert, Thread Id: ThreadId(5)
isize_insert, Thread Id: ThreadId(5)
string_insert, Thread Id: ThreadId(5)
u8_insert, Thread Id: ThreadId(5)
u16_insert, Thread Id: ThreadId(5)
u32_insert, Thread Id: ThreadId(5)
u64_insert, Thread Id: ThreadId(5)
u128_insert, Thread Id: ThreadId(5)
usize_insert, Thread Id: ThreadId(5)
whatever_insert, Thread Id: ThreadId(5)

Time: 7ms

With the following features:

"sub_store_aml",
"dashmap_string",
"all_types"

{
	"data": null,
	"errors":
	[
		{
			"message": "Invalid Opertation",
			"locations":
			[
				{
					"line": 3,
					"column": 3
				}
			],
			"path":
			[
				"new_bool"
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": "Variable f64v is not defined.",
			"locations":
			[
				{
					"line": 6,
					"column": 40
				}
			],
			"path":
			[
				"new_f64"
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": "Invalid value for argument \"value\", expected type \"Int\"",
			"locations":
			[
				{
					"line": 12,
					"column": 37
				}
			]
		},
		{
			"message": "Variable \"$isizev\" is not used by operation \"InsertAll\"",
			"locations":
			[
				{
					"line": 1,
					"column": 164
				}
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": " --> 1:92\n  |\n1 | mutation InsertAll($key: String!, $bv: Boolean!, $cv: Char!, $f32v: Float!, $f64v: Float!, i$8v: Int!, $i16v: Int!, $i32v: Int!, $i64v: Int!, $i128v: I128Scalar!, $isizev: Int!, $stringv: String!, $u8v: Int!, $u16v: Int!, $u32v: Int!, $u64v: Int!, $u128v: U128Scalar!, $usizev: Int!, $whateverv: InputWhatever!)\n  |                                                                                            ^---\n  |\n  = expected default_value, variable, or directive",
			"locations":
			[
				{
					"line": 1,
					"column": 92
				}
			]
		}
	]
}



query ReadAll($key: String!)
{
	read_bool: boolRead(key: $key)
	read_char: charRead(key: $key)
	read_f32: f32Read(key: $key)
	read_f64: f64Read(key: $key)
	read_i8: i8Read(key: $key)
	read_i16: i16Read(key: $key)
	read_i32: i32Read(key: $key)
	read_i64: i64Read(key: $key)
	read_i128: i128Read(key: $key)
	read_isize: isizeRead(key: $key)
	read_string: stringRead(key: $key)
	read_u8: u8Read(key: $key)
	read_u16: u16Read(key: $key)
	read_u32: u32Read(key: $key)
 	read_u64: u64Read(key: $key)
	read_u128: u128Read(key: $key)
	read_usize: usizeRead(key: $key)
	read_whatever: whateverRead(key: $key)
	{
		... on BoolValue
  		{
  			value
  		}
  		... on CharValue
  		{
  			value
  		}
  		... on F32Value
  		{
  			value
  		}
  		... on F64Value
  		{
  			value
  		}
  		... on I8Value
  		{
  			value
  		}
  		... on I16Value
  		{
  			value
  		}
  		... on I32Value
  		{
  			value
  		}
  		... on I64Value
  		{
  			value
  		}
  		... on I128ScalarValue
  		{
  			value
  		}
  		... on IsizeValue
  		{
  			value
  		}
  		... on U8Value
  		{
  			value
  		}
  		... on U16Value
  		{
  			value
  		}
  		... on U32Value
  		{
  			value
  		}
  		... on U64Value
  		{
  			value
  		}
  		... on U128ScalarValue
  		{
  			value
  		}
  		... on UsizeValue
  		{
  			value
  		}
  		... on StringValue
  		{
  			value
  		}
	}
}

{
	"key": "all_types_test"
}



{
	"data":
	{
		"read_bool": true,
		"read_char": "c",
		"read_f32": 1.100000023841858,
		"read_f64": 2.2,
		"read_i8": 1,
		"read_i16": 2,
		"read_i32": 3,
		"read_i64": 4,
		"read_i128": null,
		"read_isize": 6,
		"read_string": "A lazy fox jumped over a brown log",
		"read_u8": 7,
		"read_u16": 8,
		"read_u32": 9,
		"read_u64": 10,
		"read_u128": null,
		"read_usize": 12,
		"read_whatever":
		{
			"value": "huh?"
		}
	}
}

bool_read_copy, Thread Id: ThreadId(13)
char_read_copy, Thread Id: ThreadId(13)
f32_read_copy, Thread Id: ThreadId(13)
f64_read_copy, Thread Id: ThreadId(13)
i8_read_copy, Thread Id: ThreadId(13)
i16_read_copy, Thread Id: ThreadId(13)
i32_read_copy, Thread Id: ThreadId(13)
i64_read_copy, Thread Id: ThreadId(13)
i128_read_copy, Thread Id: ThreadId(13)
isize_read_copy, Thread Id: ThreadId(13)
string_read_clone, Thread Id: ThreadId(13)
u8_read_copy, Thread Id: ThreadId(13)
u16_read_copy, Thread Id: ThreadId(13)
u32_read_copy, Thread Id: ThreadId(13)
u64_read_copy, Thread Id: ThreadId(13)
u128_read_copy, Thread Id: ThreadId(13)
usize_read_copy, Thread Id: ThreadId(13)
whatever_read_clone, Thread Id: ThreadId(13)

Time: 39 ms

With the following features:

"sub_store_aml",
"scc_hashmap_string", (async methods)
"all_types"

With the following features:

"sub_store_aml",
"dashmap_string",
"all_types"

bool_read_copy, Thread Id: ThreadId(11)
char_read_copy, Thread Id: ThreadId(11)
f32_read_copy, Thread Id: ThreadId(11)
f64_read_copy, Thread Id: ThreadId(11)
i8_read_copy, Thread Id: ThreadId(11)
i16_read_copy, Thread Id: ThreadId(11)
i32_read_copy, Thread Id: ThreadId(11)
i64_read_copy, Thread Id: ThreadId(11)
i128_read_copy, Thread Id: ThreadId(11)
isize_read_copy, Thread Id: ThreadId(11)
string_read_clone, Thread Id: ThreadId(11)
u8_read_copy, Thread Id: ThreadId(11)
u16_read_copy, Thread Id: ThreadId(11)
u32_read_copy, Thread Id: ThreadId(11)
u64_read_copy, Thread Id: ThreadId(11)
u128_read_copy, Thread Id: ThreadId(11)
usize_read_copy, Thread Id: ThreadId(11)
whatever_read_clone, Thread Id: ThreadId(11)

Time: 66 ms


{
	"data": null,
	"errors":
	[
		{
			"message": "Unknown type \"USizeValue\"",
			"locations":
			[
				{
					"line": 82,
					"column": 5
				}
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": "Unknown field \"value\" on type \"Whatever\".",
			"locations":
			[
				{
					"line": 22,
					"column": 4
				}
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": "Field \"whateverRead\" of type \"Whatever\" must have a selection of subfields",
			"locations":
			[
				{
					"line": 20,
					"column": 3
				}
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": "Unknown field \"boolRead\" on type \"MutationRoot\". Did you mean \"boolClear\", \"boolRemove\"?",
			"locations":
			[
				{
					"line": 3,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"charRead\" on type \"MutationRoot\". Did you mean \"charClear\", \"charRemove\"?",
			"locations":
			[
				{
					"line": 4,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"f32Read\" on type \"MutationRoot\". Did you mean \"f32Clear\"?",
			"locations":
			[
				{
					"line": 5,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"f64Read\" on type \"MutationRoot\". Did you mean \"f64Clear\"?",
			"locations":
			[
				{
					"line": 6,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"i8Read\" on type \"MutationRoot\".",
			"locations":
			[
				{
					"line": 7,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"i16Read\" on type \"MutationRoot\". Did you mean \"i16Clear\"?",
			"locations":
			[
				{
					"line": 8,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"i32Read\" on type \"MutationRoot\". Did you mean \"i32Clear\"?",
			"locations":
			[
				{
					"line": 9,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"i64Read\" on type \"MutationRoot\". Did you mean \"i64Clear\"?",
			"locations":
			[
				{
					"line": 10,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"i128Read\" on type \"MutationRoot\". Did you mean \"i128Clear\", \"i128Remove\"?",
			"locations":
			[
				{
					"line": 11,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"isizeRead\" on type \"MutationRoot\". Did you mean \"isizeClear\", \"isizeRemove\", \"usizeClear\"?",
			"locations":
			[
				{
					"line": 12,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"stringRead\" on type \"MutationRoot\". Did you mean \"stringClear\", \"stringRemove\", \"stringInsert\", \"stringUpdate\", \"stringUpsert\", \"stringTryReplace\"?",
			"locations":
			[
				{
					"line": 13,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"u8Read\" on type \"MutationRoot\".",
			"locations":
			[
				{
					"line": 14,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"u16Read\" on type \"MutationRoot\". Did you mean \"u16Clear\"?",
			"locations":
			[
				{
					"line": 15,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"u32Read\" on type \"MutationRoot\". Did you mean \"u32Clear\"?",
			"locations":
			[
				{
					"line": 16,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"u64Read\" on type \"MutationRoot\". Did you mean \"u64Clear\"?",
			"locations":
			[
				{
					"line": 17,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"u128Read\" on type \"MutationRoot\". Did you mean \"u128Clear\", \"u128Remove\"?",
			"locations":
			[
				{
					"line": 18,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"usizeRead\" on type \"MutationRoot\". Did you mean \"usizeClear\", \"isizeClear\", \"usizeRemove\"?",
			"locations":
			[
				{
					"line": 19,
					"column": 3
				}
			]
		},
		{
			"message": "Unknown field \"whateverRead\" on type \"MutationRoot\". Did you mean \"whateverClear\", \"whateverRemove\", \"whateverInsert\", \"whateverUpdate\", \"whateverUpsert\", \"whateverTryReplace\"?",
			"locations":
			[
				{
					"line": 20,
					"column": 3
				}
			]
		}
	]
}

{
	"data": null,
	"errors":
	[
		{
			"message": " --> 9:20\n  |\n9 |   read_i32: i32Read(key: $key)\n  |                    ^---\n  |\n  = expected name",
			"locations":
			[
				{
					"line": 9,
					"column": 20
				}
			]
		}
	]
}


